package cn.com.tiptop.comon;

import java.util.Properties;

import cn.com.tiptop.comon.language.Default;
import cn.com.tiptop.comon.language.Language;

/**
 * 维护类
 * 
 * http1.1状态码
 * 100-199 用于指定客户端应相应的某些动作。
 * 200-299 用于表示请求成功。
 * 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。
 * 400-499 用于指出客户端的错误。
 * 500-599 用于支持服务器错误。 
 * 二级状态码
 * 1100-1199 用户授权状态。 
 * 1200-1299 用于表示请求成功。
 * 1300-1399 用户状态
 * 1400-1499
 * 1500-1599 controller逻辑层异常
 * @author admin
 */
public class Code {
	
	/**
	 * 系统未授权
	 */
	public final static int AUTHORIZE_UNAUTHORIZED = 1101;
	
	/**
	 * key未授权
	 */
	public final static int AUTHORIZE_KEYUNAUTHORIZED = 1102;
	
	/**
	 * 授权过期
	 */
	public final static int AUTHORIZE_TIMEOUT = 1103;
	
	/**
	 * 授权未生效
	 */
	public final static int AUTHORIZE_INEFFECTIVE = 1104;
	
	
	/**
	 * 请求成功
	 */
	public final static int REQUEST_SUCCESS = 1200;
	
	/**
	 * 在线状态
	 */
	public final static int ON_LINE = 1201;
	
	/**
	 * 离线状态
	 */
	public final static int OFF_LINE = 1301;
	
	/**
	 * 授权异常
	 */
	public final static int AUTHORIZE_EXCEPTION = 1401;
	
	
	/**
	 * try异常
	 */
	public final static int TRY_EXCEPTION = 1500;
	
	
	
	private static Properties language;
	
	//加载默认语言
	static {
		setLanguage(new Default());
	}
	
	/**
	 * 获取code对应的提示
	 * @param Key
	 * @return
	 */
	public static String getMsg(int key) {
		return language.getProperty(key+"","An unknown error");
	}
	
	/**
	 * 设置语言
	 * @param lg
	 */
	public static void setLanguage(Language lg) {
		language = lg.getLanguage();
	}
}
